package com.xingkeduo.pojo.utils;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;

/**
 * @Description:
 * @Author:gaozifeng
 * @Date 2019/6/10 16:51
 **/
@Slf4j
public class MD5Utils {

//    private static String key = "xingkeduo";

    /**
     * MD5方法
     *
     * @param text 明文
     *             //     * @param key 密钥
     * @return 密文
     * @throws Exception
     */
    public static String md5(String text) throws Exception {
        //加密后的字符串
        String encodeStr = DigestUtils.md5Hex(text);
//        String encodeStr= DigestUtils.md5Hex(text + key);
        System.out.println("MD5加密后的字符串为:encodeStr=" + encodeStr);
        return encodeStr;
    }

    /**
     * MD5验证方法
     *
     * @param text 明文
     *             //     * @param key 密钥
     * @param md5  密文
     * @return true/false
     * @throws Exception
     */
    public static boolean verify(String text, String md5) throws Exception {
        //根据传入的密钥进行验证
        String md5Text = md5(text);
        if (md5Text.equalsIgnoreCase(md5)) {
            System.out.println("MD5验证通过");
            return true;
        }
        return false;
    }

    public static void main(String[] args) throws Exception {
        String text = "xkd888";
        String s = md5(text);
        System.out.println(s);
        System.out.println("解密");
        boolean verify = verify(text, s);
        System.out.println(verify);
    }
}
